#ifndef D_VEC4F_H
#define D_VEC4F_H

namespace d_Math
{
	class d_Vec4f
	{
	public:
		float p[4];
		d_Vec4f();
		d_Vec4f(float x, float y, float z, float w);
		d_Vec4f(float v[]);
		d_Vec4f(d_Vec3f v, float w);
		d_Vec4f(const d_Vec4f &v); //Copy constructor
		float &operator [] (int i) { return p[i]; }
		float operator [] (int i) const { return p[i]; }
		d_Vec4f operator + (const d_Vec4f v) const;
		d_Vec4f operator - (const d_Vec4f v) const;
		d_Vec4f operator * (const float a) const;
		d_Vec4f operator / (const float a) const;
		void print();
	};
}

#endif
